iT邦幫忙

2023 iThome 鐵人賽

DAY 9
0
影片教學

睡醒來聽 PHP 與 MySQL系列 第 9

[睡醒來聽 PHP 與 MySQL] DAY9 php語法進階(4)全域變數、引數

  • 分享至 

  • xImage
  •  

Yes

Welcome 歡迎來到「睡醒來聽 PHP 與 MySQL」系列!

DAY09 今天要學甚麼?今天進入到進階語法-全域變數、引數

🔶章節:
🔹[開頭]
🔹[全域變數的介紹]
🔹[超全域變數的介紹]
🔹[靜態變數的介紹]
🔹[使用情境]
🔹[PHP]
🔹[為何需要這些變數]
🔹[引數介紹]
🔹[宣告引數型態]
🔹[使用引數情境-數值運算函式]
🔹[使用引數情境-字串處理函式]
🔹[使用引數情境-引數預設值]
🔹[傳遞方式介紹]
🔹[按值傳遞操作]
🔹[按引用傳遞操作]
🔹[總結]

如果影片中不清楚,需要補充的地方我會再添加到這邊~
👆教學中的[練習]程式碼一併附上,影片中會有每組的講解、說明更清楚👆/images/emoticon/emoticon12.gif


全域變數的使用情境

  • 用於儲存在程式中多個位置都需要訪問的變數
  • 在不同的函式和迴圈之間共享數據

$globalVar = 10;

function someFunction() {
    global $globalVar;
    echo $globalVar;
}

超全域變數的使用情境

  • 存取全域作用域的變數,無論它們的作用域在哪裡(不需要使用 global 關鍵字)
  • 在不同的函式和迴圈之間共享數據

$globalVar = 10;

function someFunction() {
    echo $GLOBALS['globalVar'];
}

超全域變數的使用情境

  • 記住函式呼叫之間的狀態
  • 在函式內部儲存不斷變化的數據

function countCalls() {
    static $counter = 0;
    $counter++;
    echo "This function has been called $counter times.";
}


宣告引數型態


function add(int $a, int $b): int {
    return $a + $b;
}

函式 add 接受兩個引數 $a 和 $b,並指定它們的型態為整數。

數值運算函式

function addNumbers(float $a, float $b): float {
    return $a + $b;
}

$result = addNumbers(5.5, 3.3); // 傳入浮點數引數
echo $result; // 輸出:8.8

字串處理函式

function uppercaseString(string $text): string {
    return strtoupper($text);
}

$input = "hello, world!";
$output = uppercaseString($input); // 傳入字串引數
echo $output; // 輸出:HELLO, WORLD!

日期操作函式

function daysBetweenDates(DateTime $start, DateTime $end): int {
    $interval = $start->diff($end);
    return $interval->days;
}

$startDate = new DateTime("2023-01-01");
$endDate = new DateTime("2023-08-31");
$days = daysBetweenDates($startDate, $endDate); // 傳入日期物件引數
echo "Days between dates: $days"; // 輸出:Days between dates: 242

引數的預設值

function greet($name = "Brian") {
    echo "Hello, $name!";
}

greet();        // 輸出:Hello, Brian!
greet("Rina"); // 輸出:Hello, Rina!

引數的傳遞

按值傳遞(Pass by Value)

function modifyValue($value) {
    $value += 10;
}

$a = 5;
modifyValue($a);
echo $a; // 輸出:5

按引用傳遞(Pass by Reference)

function modifyReference(&$value) {
    $value += 10;
}

modifyReference($a);
echo $a; // 輸出:15

上一篇
[睡醒來聽 PHP 與 MySQL] DAY8 php語法進階(3)使用重複程式碼、函式概念
下一篇
[睡醒來聽 PHP 與 MySQL] DAY10 php語法進階(5)物件導向(類別、物件、方法、屬性)
系列文
睡醒來聽 PHP 與 MySQL30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言